用 Nest.js 開發 API 吧 (一)


Posted by AlanSyue on 2020-11-14

大約 8 月的時候,我開始計畫重寫 資訊種子培訓計畫 的官網。原本的程式碼經過大約 7 屆的迭代,比較缺乏維護重構,大多是因應招生計劃再重新設計,有點類似活動頁。評估過後因為包袱較少,就打算整個重寫,並嘗試用新一點的技術來開發,也讓我有機會碰 Nest.js。

為什麼選用 Nest.js

當初打算重寫的時候,有和 15 屆的學弟一起討論,前端打算使用 Next.js。後來考慮到後續維護,就想說使用 Node.js,這樣維護的開發者只需要熟悉 JavaScript。

當時的討論也在想說要用哪套 Node.js 框架,於是學弟有提出可以研究看看 Nest.js,是一套架構嚴謹的框架。由於後續維護者會是學生為主,有一套嚴謹架構的框架,可以保持一定的程式品質。

研究之後發現了解到 Nest.js 有以下不錯的優點:

  1. 基於 Express,但也可以選用配置 Fastify
  2. 完美支援 TypeScript,強型別以及預先檢查減少開發上的預期外錯誤 (這各有擁護者,但我開發上覺得體驗不錯)
  3. 嚴謹的分層,彈性高、鬆散耦合、高度可測試及維護
  4. 官方文件完善,社群豐富

於是就採用 Nest.js 做為此次專案的後端技術來做開發了。接下來的系列文章會以開發過程的實作紀錄來撰寫。

首先,先來安裝吧

一開始先安裝 Nest.js 提供的 cli 套件:

yarn global add @nestjs/cli

安裝完後要來創建專案,使用 cli 來建置:

nest new project-name

建置時會問你要使用 npm 還是 yarn,就選擇自己想用的

啟動專案

設置完後,移動到專案資料夾

cd project-name

接著輸入指令啟動

yarn start:dev

啟動畫面

接著到瀏覽器輸入 http://localhost:3000/,看到預設的 Hello World! 字串代表你成功啟動了

小結

第一篇介紹了

  1. 選用 Nest.js 的原因
  2. 如何安裝
  3. 如何啟動

下一篇預計分享 Nest.js 的專案架構。如果文章有任何錯誤或建議,歡迎告知!

NEXT:用 Nest.js 開發 API 吧 (二) - 專案架構


#javascript #nodejs #framework #Backend #API #nestjs







Related Posts

往下滑會出現,往上滑會消失的廣告

往下滑會出現,往上滑會消失的廣告

CS 50  Pointers

CS 50 Pointers

How to solve the perpetual loading issue in Evernote? Evernote 一直轉圈圈的解決辦法

How to solve the perpetual loading issue in Evernote? Evernote 一直轉圈圈的解決辦法


Comments